perm filename MSS.MAN[MAN,LCS]22 blob sn#191288 filedate 1975-12-06 generic text, type T, neo UTF8
00010	********* MSS ***************   12/3/75
00055	
00100	***PROGRAMS TO EDIT MUSIC ON DISPLAY AND PRINT IT ON XGP OR CALCOMP ***
00200	
00250	THIS SERIES OF PROGRAMS IS THE PROPERTY OF LELAND SMITH, PROFESSOR OF MUSIC
00275	AT STANFORD UNIVERSITY.  IT MAY NOT BE USED OR COPIED WITHOUT HIS PERMISSION.
00280	
00300	TO RUN: SEE LAST PAGE FOR 'RPG' FILES.
00400			(FOR THE PROGRAM TO RUN IT MUST PICK UP SOME SPECIAL
00500			DATA IN DAT,LCS.)
00600	
00700	 <<<<<< SOME GENERAL ADVICE:  'SAVE' THE WORK OFTEN.(SEE PG.6)
00800	
00900		PUT IN ALL NOTES, CLEFS, BEAMS, ETC.(ALL THE THINGS PUT IN
01000		WITH 'SCORE' INPUT) FIRST.  THEN DO ALL 'JUSTIFYING'(PG.8)
01100		OF LINES, IF NEEDED, BEFORE ADDING OTHER WORDS, NUMBERS,
01200		ETC. (THE PROGRAM WILL RUN FASTER AND YOU WILL HAVE THE
01300		FINAL POSITIONS OF THE NOTES DISPLAYED.)
01400	
01500		SEE SECTION ON 'SCORE' INPUT (PG.9)  FOR FIRST STEPS IN INPUT.
01600	
01700	HORIZANTAL SPACING IS ON A SCALE OF 0 TO 200.(SEE END OF PG.5)
01800	
01900	VERTICAL SPACING IS BY NOTE LEVEL NUMBERS.  THE POSITION OF MIDDLE  C
02000	IN  THE  TREBLE  CLEF IS TAKEN AS 1. D=2, G=5, C ABOVE=8, G ABOVE=12,
02100	ETC.  THE B BELOW MIDDLE  C  =0,  A=-1,  G=-2,  ETC.   THUS  VERTICAL
02200	POSITIONS  UP  FROM  MIDDLE C MAY BE THOUGHT OF AS THE NUMBERS OF THE
02300	DIATONIC INTERVALS FROM C. (HOWEVER THIS DOES NOT FOLLOW  WHEN  GOING
02400	DOWN FROM MIDDLE C.)
02500	
02600	
02700	THE CODE NUMBERS:			ROUGH INDEX:  THE 'PAGE' NUMS.
02800	
02900	1 - NOTES				CODE NUMS.	2,3,4,5
03000	2 - RESTS				LETTERS, WORDS	  6
03100	3 - CLEFS, DYNAMICS			VARIOUS COMMANDS  7
03200	4 - LINES, BOXES			XGP INFO.	  7
03300	5 - SLURS, BRACKETS			EDIT MODES	  8
03400	6 - BEAMS				MOVE, COPY, ETC.  8
03500	7 - TRILL, PEDALS			DP, JUSTIFY, ETC. 8
03600	8 - STAFF				"SCORE" INPUT  	  9
03700	9 - MISC.				AUTO. SPACING	 10
03800	10 - NUMBERS				'PAK' PROGRAM	 10	
03900	11 - LIBRARY				SUBROUTINE LIST  11
04000	12 - CIRCLES				RPG LIST	 12
04100	14 - 'SCORE'
04200	16 - LETTERS
04300	17 - KEY SIG.
04400	18 - METER
04500	19 - ADJ. STEMS
04600	24 - 'ZOOM'
04700	33 - PARAM. VALUE
04800	44 - SEE FONTS
04900	101 - SPACING SCALE
05000	144 - READ SOS FILES
05100	333 - SEE DATA LIST
05200	444 - SET SPACING STAFF NUM.
     

00100	******* KEY TO THE PARAMETER NUMBERS *******
00200	
00300	P1=CODE NUMBER, P2=STAFF NUMBER,
00400	   P3=HORIZANTAL POSITION, P4=VERTICAL POSITION BY NOTE NUMBER,
00500	       P5=OFTEN 2ND VERTICAL POS., P6=OFTEN 2ND HORIZANTAL POS.
00600	
00700		THE FOLLOWING CODE NUMBERS ARE USED MAINLY FOR EDITING.
00800	--------  SECTION I  ---------
00900	
01000	1 NOTES: 1, STAFF, POS, NOTE NUM(VERT. POS.),  
01100		(P5) STEM DIR & ACCI,
01200		(P6) FILLED IN? (≥0), DECIS REFER TO ACCENTS, ETC.
01300		(P7)NUM OF TAILS(1=8TH,4=64TH, ETC.)
01400			(IF 2 DIGITS, LFT IS NUM OF DOTS.)
01500		(P8)STEM EXT. BY NT NUM,
01600		(P9)=-1 TO SUPPRESS LEDGER LINES.
01700	        	 (P9 ALSO STORES RHYTHMIC VALUE FOR SPACING.)
01800		(P10)=1 PUTS SLASH ON GRACE-NOTE TAIL (1000 IN P8=SAME)
01900	        (P11)=CHANGE SOURCE POS. OF STEM. (USE WITH P4=400+)
02000	
02100	    P4 100S GIVE MINIS, 200S GIVE DIAMOND SHAPE (HARMONICS)
02200		300S GIVE 'X' NOTES (FOR PERCUSSION, ETC.), 400S=NO NOTE HEAD.
02300	
02400	    FOR P5: <10= NO STEM, 10-13=STEM UP, 20-23= STEM DOWN
02500		1,11 OR 21=FLAT; 2,12,22=#; 3,13,23=NATURAL; 4=DBL b; 5=DBL #
02600	
02700	    FOR P6: POS NUM OR 0 = BLACK NOTE, ANY NEG NUM = WHITE NOTE.
02800	    FOR P6: 10,-10 'HOMES' TO RIGHT OF UPWARD STEM.
02900		     20,-20 'HOMES' TO LEFT OF DOWNWARD STEM.
03000	 	30,-30(FOR 0,-1) PUTS DOTS IN PROPER PLACE IN COMPLEX CHORDS.
03100	
03200	      IF P7 HAS 2 DIGITS THE NOTE IS DOTTED; 2ND DIG. IS NUM OF TAILS.
03300			IF 2ND DIGIT IS 1 AND P6 IS NEG. A WHOLE NOTE PRINTS.
03400		DECIMALS AFTER P5 OR P7 SPACE OUT ACCIDENTAL OR DOT.
03500			.01 IN P7 PUTS SLASH THROUGH TAIL (SAME AS P10).
03600		DECIMALS AFTER P6 ARE ACCENT NUMS (.4-.7,.9 ETC. SEE CODE #9)
03700				UP TO 2 ACCENTS CAN BE PUT IN THIS WAY.
03710	
03800	
03900	
04000	2 RESTS: 2,STF,POS,HGT,REST(-2=WHOLE, 0=1/4, 1=1/8,ETC), P6) 1=DOTTED
04100	
04200			P8=NUMBER OF MEASURES REST(TO 999).  THE REST WILL ALWAYS
04300			   TURN INTO A WHOLE REST.  A HORIZANTAL LINE WILL DISPLAY
04400			   BELOW THE REST TO FACILITATE CENTERING BETWEEN 2 BAR 
04500			   LINES.  TO CHANGE THE WIDTH OF THIS CENTERING LINE 
04600			   ALTER P6.
04700			     (IF P6=0 THE LINE WILL EXTEND ABOUT 10 UNITS IN EACH
04800			     DIRECTION.  A NON-ZERO ENTRY WILL CHANGE THIS.)
04900			P8=-1 GIVES WHOLE REST WITHOUT NUMBER ABOVE.
05000	
05100			   P8=-2 WILL CENTER WHOLE REST BETWEEN 2 BAR LINES IF
05200			   THEY ARE IN THE EXACT ORDER BAR-REST-BAR.   IF THIS IS
05300			   NOT THE CASE THE REST MUST BE CENTERED VISUALLY. USE P6.
05400	
05410	
05420	
05430	
05440	
05450	
05470	
05500	3 CLEFS, DYNAMICS AND OTHER THINGS:
05600		  3, STAFF, POS, P4=HGT CHANGE(TO MAKE SOP. ETC.),P5=CLEF NUM
05610		  P6-P9 (SAME AS IN CODE 9)
05690	
05700		(CLEF NUMS ARE: TREB=0, BASS=1, ALTO=2, TENOR=3,
05800	         4=PF.STF BRKT. 5=ARROW
05900	     10=b, 11=#, 12=NAT., 13=bb, 14=x,15=half note,16=whole note.
06000		 ADD 100 TO P5 FOR MINICLEFS.)  (P6-P9 AS IN CODE 11.)
06100	
06200	  OTHER THINGS: P5=40 = PPP   41 = PP   42 = P   43 = MP 
06300			   50 = MF    51 = F    52 = FF   53 = FFF 
06400			   70 = CRESC.  71 = SUBITO  72 = POCO
06500			   80 = ACCEL.  81 = MENO    82 = DIM.
06600			   30 = ED      31=MORDANT   37=RIT.
06700		 ---- MORE WILL BE ADDED! ---(FILES CLEF0,1,2,4,5,7,8 ARE FULL)
06800	
     

00010	
00020	
00030	
00040	
00050	
00060	
00070	
00080	
00090	
00100	4 LINES: 4, STF, POS, P4, P5, P6, P7, P8, P9, P10
00200		(P4) NUM OF STAVES UP FOR BAR LINE - IF ALL HIGHER 
00300			PARAMETERS = 0, OR HGT1 (i.e.VERT. POS1 IF LINE).
00400		   FOR HEAVY BAR LINES ADD 100*THICKNESS TO NUMBER IN P4
00500		   ADD 1000 MORE FOR DOUBLE BAR.
00600		(BAR LINES DON'T AFFECT TOP AND BOT MAXI'S.-FOR AUTO. SPACE)
00700	
00800		(P5) HGT2,   IF P5=50, A +N IN P7=CRESC., -=DECRESC., ETC.
00900		(P6) POS2, 	(IGNORED IF BOX IS PRINTED.)
01000		(P7) 1=VERT. DASHES. IF P5=50 +N IN P7=CRESC., -=DECRESC.
01100		     2=HORIZ. DASHES.  -1 GIVES VERTICAL WAVEY LINE. 
01200		     3 OR 4=LGE. BRKT. (SEE DIAGRAM FOLLOWING)
01300		    
01400		     P9=WIG.UNIT HGT.,  P8 CHANGES WIGGLE WIDTH, THIS AND NEXT
01500		     -2 GIVES HORIZ.WAVEY LINE(P5 GIVES HGT OF WAVE BY NT NUM)
01600				....P6=RIGHT END POINT OF WIGGLE.
01700			P10=ADDED WIDTH FOR WIGGLES AND DASHES.(1=1 MORE, ETC.)
01800	
01900		(P8) NON-ZERO GIVES HORIZ. BOX SIZE(BY NT NUMS) IF P5=50
02000			IF VERT. DASHES, P8 SETS SIZE.(ALSO AFFECTS WIGGLES.)
02100			P8 ALSO CAN AFFECT HEAVY BRACKET. SEE DIAGRAM FOLLOWING.
02200	
02300		(P9) GIVES VERT. BOX SIZE, IF P5=50.(AFFECTS VERT. WIGGLES ALSO.)
02400		(P10)=THICKNESS IF STRAIGHT VERTICAL LINE OR BOX(NOT BAR LINE.)
02500	
     

00100		RESUME OF CODE 4 PARAMETERS
00200	
00300	----------------------|-------|-------|-------|-------|-------|-------
00400			  P4  |  P5   |  P6   |  P7   |  P8   |  P9   |  P10
00500	----------------------|-------|-------|-------|-------|-------|-------
00600	LINES	 	HGT.1 | HGT.2 | POS.2 |   0   |   0   |   0   |
00700	----------------------|-------|-------|-------|-------|-------|-------
00800	HEAVY VERT.LINE  BOT. |  TOP  |  =P3  |   0   |   0   |   0   | THICKN.
00900	----------------------|-------|-------|-------|-------|-------|-------
01000	BAR LINE    N=NUM. OF |   0   |   0   |       |       |       |
01100	            STAVES UP |       |       |       |       |       |
01200	   (+1000 FOR DBL BAR)|	      |       |       |       |       |
01300	----------------------|-------|-------|-------|-------|-------|-------
01400	HEAVY BAR     N+100*  |   0   |   0   |       |       |       |
01500	            THICKNESS |       |       |       |       |       |
01600	   (+1000 FOR DBL BAR)|	      |       |       |       |       |
01700	----------------------|-------|-------|-------|-------|-------|-------
01800	HEAVY BRACKET    BOT. |  TOP  |   0   |   3   |   0   |   0   | THICKN.
01900	                 HGT. |  HGT. |       |       |       |       |       
02000	       --OR--         |       |       |       |       |       |       
02100	            N=NUM. OF |   0   |   0   |   4   |   0   |       | THICKN.
02200	            STAVES UP |       |       |       | 1=BOT |       | (0=4)
02300	                      |       |       |       | 2=TOP |       |       
02400	----------------------|-------|-------|-------|-------|-------|-------
02500	CRESC.	 	 HGT. |  50   | POS.2 | 0  OR |   0   |       |
02600			      |       |       |SPREAD |       |       |
02700			      |       |       |  =N   |       |       |
02800	----------------------|-------|-------|-------|-------|-------|-------
02900	DECRESC. 	 HGT. |  50   | POS.2 | -1 OR |   0   |       |
03000			      |       |       |SPREAD |       |       |
03100			      |       |       |  =-N  |       |       |
03200	----------------------|-------|-------|-------|-------|-------|-------
03300	DASHES - HORIZ.  HGT. |   0   | POS.2 |   2   | DASH  |       | THICKN.
03400	  (NO SLOPE)          |       |       |       | SIZE  |       |
03500	----------------------|-------|-------|-------|-------|-------|-------
03600	DASHES - VERT.   BOT. |  TOP  |   0   |   1   | DASH  |       | THICKN.
03700	  (NO SLOPE)     HGT. |  HGT. |       |       | SIZE  |       |
03800	----------------------|-------|-------|-------|-------|-------|-------
03900	WIGGLE - HORIZ.  HGT. |       | POS.2 |  -2   | WIGL. | WIGL. | THICKN.
04000	  (NO SLOPE)          |       |       |       | WIDTH |  HGT. |
04100	----------------------|-------|-------|-------|-------|-------|-------
04200	WIGGLE - VERT.   BOT. |  TOP  |   0   |  -1   | WIGL. | WIGL. | THICKN.
04300	  (NO SLOPE)     HGT. |  HGT. |       |       | WIDTH |  HGT. |
04400	----------------------|-------|-------|-------|-------|-------|-------
04500	BOXES		 HGT. |  50   |   0   |   0   | WIDTH |  HGT. | THICKN.
04600			      |       |       |       |       |0=SQUAR|
04700	----------------------|-------|-------|-------|-------|-------|-------
04800	
04900	
05000	
05100	
05200	5 SLURS: 5, STAFF, POS1, NT1, NT2, POS2, P7=DIP(NT UNITS + OR -), P8, P9
05300		FOR P8 0=SLUR, 1=BRACKET, 2=LFT 1/2 BRKT, 3=RT 1/2 BRKT,
05400	
05500		FOR AUTOMATIC ALIGNMENT OF SLUR WITH NOTES, SET P13=1, THEN
05600		IF P8=-1, END POINTS WILL HOME TO NOTE CENTERS.
05700		IF P8=-2, END POINTS WILL HOME BETWEEN NOTES.
05800	
05900		USE P8=-3 TO HOME BETWEEN NOTES WHERE 1ST IS DOTTED.
06000	
06100		P9=CURVE FACTOR.  DEFAULT VALUE (0)=3  GIVES SLIGHTLY "FLATTENED"
06200		  SLURS. TO MAKE THEM MORE ROUND, DECREASE P9 TOWARD 2. 
06300		  TO RESTRICT THE CURVE TO THE END PORTIONS, INCREASE P9.
06400	
06500	     IF P8=1 AND P9 IS NOT 0, A BRACKET WITH A NUMBER(P9) WILL BE DRAWN.
     

00100	
00200	
00300	6 BEAMS: 6, STF, POS1, NT1, NT2, POS2, 
00400			FOR "MINI" BEAMS ADD 100 TO P4 (-100 FOR NEG. NUMS.)
00500	
00600		 (P7)  STEM DIR(10=↑ 20=↓), 
00700	 	  --  2ND DIG. IN P7=TOTAL NUM OF BEAMS.
00800		     IF P7 IS NEGATIVE THEN TREMOLO SLASHES ARE MADE.
00900			  IF TREMOLO, P8 SETS WIDTH. (0=2.2), P9=POS.
01000	
01100		 (P8)  10=LFT,  20=RT. (OR TREM. WIDTH)
01200		       -10,-20=UNATTACHED PARTIAL BEAMS
01300			 A 2ND DIGIT=DISPLACEMENT NUMBER.
01400			-- IF P10 HAS 30+, P8 WILL HAVE POS3 AND
01500			-- P9 WILL HAVE POS4.
01600	
01700		 (P9)  POS3. (OR POS4 IF P10>30.)
01800			   OR POSITION OF TREMOLO
01900		IF P8=0 AND P10=0 AND P9=N, N WILL BE A NUMBER OVER THE BEAM.
02000	
02100		 (P10) = NUM OF BEAMS DISPLACED (NO MORE THAN 9.)
02200		  ADD 10 FOR INNER SHORT PARTIAL →
02300		  ADD 20 FOR INNER SHORT PARTIAL ←
02400		  ADD 30 FOR INNER PARTIAL BETWEEN TWO STEMS.
02500	
02600		      P11 CAN RESET HOMING RANGE (OR -1 = NONE.)
02700	
02800	--------------------------------------------------------|-------|-------
02900							   P8	|  P9	| P10
03000	--------------------------------------------------------|-------|-------
03100	UNATTACHED PARTIAL BEAM POINTING →		  -10	|   0	|  0
03200					 ←		  -20	|   0	|  0	
03300	  DISPLACEMENT IS IN 2ND DIGIT OF P8		   	|    	|    
03400	--------------------------------------------------------|-------|-------
03500	ATTACHED PARTIAL BEAM POINTING →	           10   | POS.3 |  0   
03600				       ←	           20   | POS.3 |  0   
03700	  DISPLACEMENT IS IN 2ND DIGIT OF P8		   	|    	|    
03800	--------------------------------------------------------|-------|-------
03900	INNER PARTIAL BEAM POINTING →			    0   | POS.3 | 10
04000				    ←			    0   | POS.3 | 20
04100	  DISPLACEMENT IS IN 2ND DIGIT OF P10			|	|
04200	--------------------------------------------------------|-------|-------
04300	INNER BEAM             				  POS.3 | POS.4 | 30
04400	  DISPLACEMENT IS IN 2ND DIGIT OF P10			|	|
04500	--------------------------------------------------------|-------|-------
04600	TREMOLO	 		   *****P7=-10 OR -20     WIDTH |TRM,POS| DISP. 
04700	   -PARALLEL TO OTHER BEAMS -TILT IN P3-6    		|	|
04800	    NUMBER OF BEAMS IS SECOND DIGIT OF P7		|	|
04900								|	|
05000	       			   *****P7=-10 OR -20     WIDTH |   0   | DISP. 
05100	 -WITHOUT OTHER BEAMS - STANDARD TILT			|	|
05200	    NUMBER OF BEAMS IS SECOND DIGIT OF P7		|	|
05300	--------------------------------------------------------|-------|-------
05400	NUMBER OVER OR UNDER BEAM			    0	| NUM.	|  0
05500	--------------------------------------------------------|-------|-------
05600	
05700	
05800	
05810	
05820	
05830	
05840	
05900	7 TRILLS,PEDALS: 7, STF, POS1, VERT.POS, SZ(0=1), POS2, P7(=1=NO WIGGLE)
06000			IF P7=1, NO WAVEY LINE APPEARS.
06005	
06010		IF P7 IS GREATER THAN 1, PIANO PEDAL SYMBOLS WILL PRINT.
06020			THEN: P5=PEDALS DEPRESSED (USE 3 DIGITS)
06030			000=NONE		001=RIGHT PED. ONLY
06040			010=CENTER PED. ONLY	100=LEFT PED. ONLY
06050			101=OUTER PEDS. 	011=CENTER AND LEFT
06060			110=RIGHT AND CENTER	111=ALL (NOT USUAL)
06070	
06080		P7=2 PLAIN SYMBOL;   =3 ADDS TOP BRACK. EXTENDED TO P6 (POS2).
06090		  =4 ADD LINE TO TOP OF SYMBOL. EXTENDED TO P6 POS.
06095	  	  P8 SETS SIZE OF LINE EXTENSION TO LEFT OF SYMBOL (P7=3 OR 4)
06097	
06098	
06100	
06200	
06300	
06400	8 FOR STAFF LINES: 8,  HGT(STAFF NUM. 3 TO -3), (P3)POS1, 
06500		P4) VERT. SHIFT,  5) SIZE FACTOR (0=1),  P6) POS2.(0=200)
06600		P7) IF SET TO NON-ZERO THE STAFF WILL BE INVISIBLE.
06700		   (USE THIS AS A MEANS TO SET SIZE AND POSITION OF
06800		    NOT APPEARING ON A STAFF.)
06900		P8) USED TO SET MOVE-UP DISTANCE(INCHES) TO NEXT FILE'S
07000		    STAFF 0. (USE P8 ONLY! WITH STAFF 0.)
07100		    HORIZANTAL LINE WILL DISPLAY AT POSITION OF NEXT STAFF 0.
07200	        P9=1 WILL ASK FOR ID NAME FOR THIS STAFF(TO BE USED IN 'PARTS')
07300	
07400	
07500	9 ACCIDS, ACCENTS, ETC.: 9, STF, POS, NOTE NUM, P5, P6=SIZE (0=1)
07600		FOR P5: b=1, #=2, NAT=3, WEDGE ACCENT ∧=4(-4=INV), ACCENT >=5,
07700		FERMATA=6 or 26(-6=INV), STAC. OR DOT=7, REPEAT BAR SIGN=8,
07800			TENUTO OR DASH=9, DNBOW=11, UPBOW=12, HARM,=13, +=14,
07900			THESIS=15, ARSIS=16, MORDANT=17, INV.MORD.=18, TRILL=20
08000	
08100	   ***** 2 ITEMS MAY BE ENTERED AT ONCE WITH P5. e.g. 47 WILL CREATE
08200		A WEDGE(4) WITH A DOT(7) BELOW IT; 79 MAKES A DOT(7) WITH A
08300		DASH(9) BELOW IT. IF ANY OF THE 2-DIGIT CODES ARE USED, THEY
08400		MUST! COME FIRST.   e.g. 135  MAKES  A  HARMONIC(13) WITH AN
08500		ACCENT(5) BELOW.  ETC.	(513 WILL NOT WORK!)
08600	
08700	
08800	10 NUMBERS: 10, STF, POS, NT NUM, NUM(TO 3 DIGITS ONLY), SIZE FACT., P7
08900		P7=2 GIVES THIN LINE NUMS., =0 = BDR40 TYPE FONT WHEN IT PLOTS.
09000					    =1 = BDI40 (ITALICS)
09100		P8=1 CIRCLES NUMBER, =2 BOXES NUMBER.  P10>1 THICKENS BOX ETC.
09200	
09300		 SET P13 TO 1 FOR AUTOMATIC HOMING.
09400		 (SEE HOMING INFO IN EDIT SECTION.)
09500	
09600	
09700	11 LIBRARY ITEMS: 11, STAFF, POS,  VERT. NOTE NUM, P5)ITEM NUM, 
09800		   P6)HORZ. SZ., P7)VERT. SZ.,   P8,  P9,  P10
09900			P8=-1 FOR FILL ON CRT, =-2 FOR NO FILL ANYWHERE.
10000	
10100		P5 MAY HAVE NUMBERS 0 THROUGH 99.  NUMBERS 0-9 REFER TO
10200		THE "BASIC" DRAW FILE.  (SEE 'DRAW.MAN' FOR PREPERATION
10300		OF 'DRAW' FILES.)  THE "BASIC" FILE SHOULD HAVE A NAME
10400		WITH 4 LETTERS AND THE NUMBER 0 ON THE END.  IF THE "BASIC"
10500		NAME IS 'CHAR0' THEN NUMBERS 10 THROUGH 19 WOULD REFER
10600		TO 'CHAR1'; 20-29 TO 'CHAR2', 30-39 TO 'CHAR3', ETC.
10700	
10800		P9 = CLOCKWISE ROTATION BY DEGREES.
10900		
11000		IF P10 IS SET TO 1 A "BASIC" FILE NAME WILL BE REQUESTED.
11100		THE NAME WILL BE STORED IN P10. ANY TIME P10 IS SET TO 1
11200		THE NAME WILL BE RE-REQUESTED.  ANY TIME P10 IS IGNORED THE
11300		LAST NAME GIVEN WILL BE PUT INTO P10.
11400		THUS SEVERAL ITEMS CAN USE DIFFERENT "BASIC" NAMES.
11500	
11600	
11700	12 CIRCLES AND ARCS: 12, STF, POS,  VERT. NT NUM, 	
11800			P5=RADIUS(BY HORIZ. SCALE NUMS)
11900			P6=DEGR.1, P7=DEGR.2; ZEROS GIVE COMPLETE CIRCLE.
12000			P8=THICKNESS(0=1 LINE, 1=2 LINES, ETC.)
12100	
12200	
12300	14  "SCORE" INPUT: 14, STAFF    -- SEE LATER SECTION.
12400	
12500	
12600	16 LETTERS, WORDS, ETC.:
12700	   16, STAFF, POS, VERT. NOTE NUM, P5)=SIZE FACTOR, P6
12800		----- THEN TYPE TEXT ----- 
12900	     ---- SEE SECTION II FOR DETAILS -----
13000	
13100	
13200	17 KEY SIG.: 17,STF,POS,VERT, P5)NUM OF #S OR FLATS(+=#, -=b),CLEF NUM.
13300					(P6=0=TREB, =1=BASS, =2=ALTO, =3=TENOR)
13400				FOR MINI CLEFS ADD 100 TO P6.
13500	
13600	
13700	18 METER:  18, STF, POS, VERT, P5)TOP NUM, P6)BOTT NUM, P7)SIZE FACTOR
13800			IF P5=99 THE LETTER C WILL PRINT
13900	
14000	
14100	19 ADJUST STEMS TO MEET BEAMS: 19, STAFF NUM (99=ALL STAVES)
14200				  (ALSO REMOVES TAILS WHERE NEEDED)
14300	
14310	------ HOMING A BEAM FROM ONE STAFF TO ANOTHER -----
14400	19 N1 N2 ------ IF 2 NUMBERS FOLLOW 19 THE 1ST  SHOULD  BE  THE  ITEM
14410	NUMBER  OF  A  BEAM  AND THE 2ND THE STAFF NUMBER OF A NOTE WHICH THE
14420	BEAM  IS  TO  HIT.   THIS  ALLOWS  THE  BEAM TO HOME TO ANY NOTE ON A
14430	DIFFERENT STAFF.
14440	
14700		BEFORE  USING  THIS, CERTAIN REQUIREMENTS MUST BE MET.  P6 OF
14710	THE BEAM SHOULD BE SET TO THE APPROXIMATE HORIZANTAL POSITION OF  THE
14720	NOTE TO  BE HIT.  P4 AND P5 SHOULD BE SET TO THE VERTICAL POSITION OF
14730	THE ORIGIN (USUALLY P4).  P7 SHOULD INDICATE THE  STEM  DIRECTION  OF
14740	THE  NOTE AT THE ORIGIN POINT.  P11 IS BEST SET TO 1 TO INHIBIT OTHER
14750	HOMING FEATURES.  IF THE BEAM IS COMPOSITE, THIS  PROCEDURE  MUST  BE
14760	FOLLOWED FOR EACH BEAM ITEM INVOLVED.
15400		THE NOTE ON THE OTHER STAFF MAY HAVE A STEM OF ANY LENGTH AND
15500	IT MAY BE IN FRONT OF OR BEHIND THE ORIGIN POINT OF THE BEAM.  IT  IS
15600	PROBABLY  BEST TO USE THIS FEATURE ONLY AFTER! THE OTHER '19' FEATURE
15700	HAS BEEN USED.  CHECK STEM LENGTHS AND MEETING POINTS CAREFULLY AFTER
15800	USE.
15900	
16000	
16100	24 MAGNIFY AREA:  24,SIZE FACTOR, NEW CENTER X,Y  (USE -512 TO 512 RANGE)
16200	
16300	  IF THE STAVES -1 THOUGH 2 ARE USED ONLY 2 NUMBERS NEED BE TYPED.
16400	24,N  WHERE N IS A NUMBER OF THE FOLLOWING FORM WILL INCREASE THE
16500	SIZE BY THE LEFT DIGIT OF N.    24 200  WILL MAGNIFY BY 2 AND PUT
16600	THE FAR LEFT SIDE TO THE CENTER OF THE SCREEN.  200.5 WILL KEEP THE	
16700	CENTER AS IS.  201 WILL PUT THE FAR RIGHT SIDE TO THE CENTER.
16800	300 WILL MAGNIFY BY 3, ETC.
16900	
17000	
17100	33 PARAMETER CONTENTS:  33  N.  TO SEE EXACT CURRENT CONTENTS
17200			OF PARAMETER NUM. N WHILE IN EDIT MODE.
17300	
17400	
17500	44 1  --- IF N=1 FROM THIS POINT ON ALL NUMBERS AND LETTERS USING THE
17600	          TYPE FONTS BDR AND BDI WILL APPEAR WITH THEIR REAL OUTLINES.  
17700	          THIS SHOULD BE USED ONLY FOR CHECKING ON CLOSE SPACING AS
17800	          THE PROGRAM IS SLOWED CONSIDERABLY DUE TO THE GREAT NUMBER
17900	          OF VECTORS TO BE DRAWN.  
18000	    44 -1 WILL CAUSE ALL LETTERS TO BE IN 'PRIM' FONT (UPPER AND LOWER
18100		  CASE) ON CRT.
18200	     44,0 WILL RETURN TO THE ORIGINAL DISPLAY MODE.  SEE 7 AND 16 IN
18300	            REGARD TO FONTS.
18400	
18500	
18600	101  SPACING SCALE: 101, STAFF NUM  (101,99 ERASES IT)
18700			(THE SCALE NEED NOT BE ERASED BEFORE SHIFTING IT
18800			 TO A NEW STAFF.)
18900	
19000	
19100	333 N1,N2,N3  PRINTS RN ARRAY FROM ITEM N1 TO ITEM N2. N3=1 FOR LPT.
19200		(USING LPT IS FATAL FOR CURRENT DPY AND MUST BE FOLLOWED BY
19300		<CALL>, F<CR> IN ORDER TO RELEASE THE LPT.)
19400		333 <CR> WILL TYPE DATA FOR ALL ITEMS.
19500	
19600	
19700	444 N:  ESTABLISHES STAFF N AS THE BASIS FOR AUTOMATIC SPACING OF ITEMS
19800		ENTERED BY MEANS OF CODES 14 OR 144.  SEE PG.10.
     

00100	---------  SECTION II  --------------
00200	
00300	16 LETTERS, WORDS, ETC.:
00400	   16, STAFF, POS, P4=VERT. NOTE NUM, P5=SIZE FACTOR, P6
00500		----- THEN TYPE TEXT ----- 
00600	
00700	0-9, A-Z, a-z, and = . - , * ( ) " ; : + ? ! QTR NT  HLF NT CAN BE USED.
00800	
00900	UP TO 12 CHARACTERS WILL BE PACKED IN AN ITEM.
01000	STRINGS OF MORE THAN 12 CHARACTERS WILL BECOME SEVERAL ITEMS FOR
01100	EDITING PURPOSES.  
01200	TO PLACE ITEMS IN RELATION TO ALREADY PRESENT NOTES, SET P6≠0.  
01300	SEPARATE EACH ITEM BY SLASHES.
01400	THE SLASHES WILL NOT BE DRAWN.(BUT A LINE ENDED WITH ; WILL PRINT ;.)
01500	
01600	WHEN  P6≠0,  NUMBERS WILL APPEAR OVER THE NOTES OF THAT STAFF AND YOU
01700	WILL BE ASKED TO TYPE POSITION NUMBERS FOR EACH ITEM.    IF  P4  (THE
01800	VERTICAL  POSITION)  IS  SET  TO 0 YOU SHOULD TYPE 2 NUMBERS FOR EACH
01900	ITEM.  SEPARATE THE PAIRS OF NUMBERS BY SLASHES.  THE FIRST NUMBER OF
02000	A  PAIR  WILL  BE HORIZANTAL POS., THE SECOND WILL BE VERT. POS.  THE
02100	HORIZANTAL NUMBERS WILL BE IN TERMS OF THE NUMBERS  OVER  THE  NOTES.
02200	THUS  1.5,-3/  WOULD  PUT  ITEM 1 EXACTLY HALF WAY BETWEEN NOTE 1 AND
02300	NOTE 2 AND AT  THE  VERTICAL  POSITION  OF  NOTE  LEVEL  -3.     WITH
02400	1.5,-3/.7,13/  THE FIRST ITEM WOULD BE AS BEFORE AND THE SECOND WOULD
02500	BE AT .7 OF THE DISTANCE FROM THE BEGINNING OF THE LINE AND THE FIRST
02600	NOTE AND AT THE VERTICAL POSITION 13.
02700	
02800	IF  P4 IS ANY NON-ZERO NUMBER (AND P6≠0) ALL ITEMS WILL BE PUT AT THE
02900	LEVEL INDICATED IN P4.  IN  THIS  CASE  TYPE  ONLY  ONE  NUMBER  (FOR
03000	HORIZANTAL  POSITION) PER ITEM.  THIS IS PROBABLY THE BEST WAY TO PUT
03100	IN THE TEXT OF VOCAL LINES.
03200	
03300	CURRENTLY (5/74) THREE TYPE FONTS ARE AVAILABLE.  THE DEFAULT FONT IS
03400	CALLED  'PRIMITIVE'.   ALSO  THERE  IS  'BDR40' AND 'BDI40'(ITALICS).
03500	ALL THESE INCLUDE UPPER AND LOWER CASE.  ****** NOTE THAT IF THE TYPE
03600	FONTS  ARE  TO  BE  MIXED THE FIRST ENTRY MUST INCLUDE A FONT CONTROL
03700	CHARACTER EVEN IF IT IS THE DEFAULT FONT.
03800	
03900		FONT CONTROL CHARACTERS:
04000			# = PRIMITIVE  (52)
04100			& = BDR40 (NON-ITALICS) (50)
04200			@ = BDI40 (ITALICS)  (51)
04300			< = OUTLINE ONLY  (53)
04400			> = FILLED   (54) (WILL NEVER FILL ON CRT HOWEVER.)
04500			$ = UPPER CASE (48)
04600		(use these last 2 controls only when not working with display.)
04700			% = LOWER CASE (49)
04800	
04900		WHEN INITIALLY USING THE FONTS THE UPPER-LOWER
05000		CASE CHARACTER MUST APPEAR AS WELL AS THE FONT CHARACTER.
05100		LATER FONT OR CASE CHANGES MAY APPEAR SINGLY.
05200	
05300	EXAMPLES:  TO GET THE FOLLOWING IN NON-ITALICS -
05400	
05500			Clarinet
05600	
05700	TYPE - &Clarinet/           (OR: $&C%LARINET/ WHEN USING ORDINARY TTY.)
05800	
05900		FOR THE NEXT WITH THE 2ND WORD ITALICS, THE 3RD PRIMITIVE-
06000	
06100	TYPE - &Oboe/@cresc./#v.s./
06200	
06300		&<Oboe/  WOULD PRINT "Oboe" in non-filled letters.
06400	
06500	MOST OF THESE COMMANDS ARE SEMI-STICKY.  TO BE SAFE THEY SHOULD BE
06600	RESET EACH TIME USED.
06700	
06800	WHEN LETTERS ARE EDITED THEY APPEAR UNDER CODE #16.  
06900	AT  EDIT  TIME  P13=1  WILL  CAUSE  HOMING  TO  A NEARBY NOTE.  NOW A
07000	NEGATIVE SIZE FACTOR (IN P5) WILL INVERT THE TEXT.  IF THE STAFF SIZE
07100	IS  LATER  CHANGED  THE  SPACING CONTINUITY OF STRINGS LONGER THAN 12
07200	LETTERS  WILL  BE  DISTURBED.   TO  CORRECT  THIS  SET  P10=1 FOR THE
07300	MISPLACED  UNIT  OF  TEXT.   IT  WILL  THEN  AUTOMATICALLY RESUME THE
07400	CORRECT POSITION AND RESET P10 TO 0.
07500	
07600		IN  GENERAL,  P6-P8  SHOULD  NOT  BE  EDITED.   EACH  OF  THE
07700	PARAMETERS  CONTAINS  THE  NUMBERS  FOR  4  CHARACTERS.  A TOTAL OF 8
07800	DIGITS IS USED IN EACH PARAMETER; 2 DIGITS PER CHARACTER.
07900	
08000		 THE STRING 'ABCDEFGHIJKLM' WOULD BECOME:
08100	
08200			P6 -- 10111213
08300			P7 -- 14151617
08400			P8 -- 18192021
08500	
08600		TO SEE THE CONTENTS OF ONE OF THESE PARAMETERS, 6, FOR EXAMPLE,
08700	TYPE '33 6'.  IF YOU THEN TYPED '6 13111213' THE STRING WOULD CHANGE TO
08800	'DBCDEFGHIJKLM'.   THIS METHOD OF EDITING IS NOT RECOMMENDED.
08900	
09000		NUMBERS ARE 0-1, UPPER CASE LETTERS 10-35, LOWER CASE BEGIN
09100		AT 70.  SPACE=47, NO MORE CHARS=99, QTR NOTE=58, HLF NOTE=59.
09200	
09300	(A NEW FORMAT FOR P6-8 WAS ACTIVATED 11/75. TYPE 10,99<CR> WHILE
09400	EDITING TEXT TO AUTOMATICALLY CHANGE THE FORMAT.)
     

00100	--------  SECTION III  -----------
00200	
00300	***********  LETTER COMMANDS  ***************
00400	
00500	'G' = GET OLD DATA TO WORK ON.
00600	
00700		IF YOU GET THE MESSAGE "UNPACK IT" USE THE MSSAUX PROGRAM.
00800	
00900	'GM' = GET MORE TO ADD TO CURRENT DISPLAY
01000	
01100	'RS' = RESTART.  CLEARS BUFFERS AND SCREEN - NO RECOVERY POSSIBLE!
01200	
01300	
01400	SAVE ALL: TYPE 'SAVE' OR 'SA'  ('SD' SAVES DISPLAY ONLY FOR DPY.F4)
01500	
01600		IF 'SAME' IS GIVEN AS A FILE NAME THE NAME WILL BE 
01700		SAME AS PREVIOUSLY.
01800	
01900	  'SB' = SAVE BIG.  SAVES ALL IMPORTANT BUFFERS. FOR QUICKER READIN.
02000	  'SM' = 'SB' WITH THE SAME NAME AS PREVIOUSLY.
02100	
02200	   TYPE '99' TO BACK UP FROM FILE NAME REQUEST.
02300	
02400	
02500	
02600	<<<<<<<<<< HOW TO RUN A PROOF ON THE 'XGP' >>>>>>>>>>>>>>>>
02700	
02800		THE PROGRAM 'MP.DMP[MSS,LCS]' WILL CREATE A FILE FOR THE
02900	XGP PROGRAM 'X5.DMP[MSS,LCS]' OR FOR THE CALCOMP.  GENERALLY USE SIZE
03000	FACTOR = 1 FOR XGP PRINTING.
03100	
03200	THE FIRST  PROMPT IN MP IS 'RESET BOTTOM?'  THE ANSWER SHOULD USUALLY
03300	BE 'Y' WHEN MP'S OUTPUT IS TO GO TO X5.  'P' WILL CAUSE ALL LETTERS 
03400	NUMBERS TO PRINT WITH THE 'PRIMITIVE' FONT.  'A' WILL RESET TO THE
03500	ORDINARY MODE IF A 'P' HAD BEEN GIVEN EARLIER.
03600		IF  THE  AUTOMATIC  'MOVE-UP'  FEATURE  INVOLVING  P8  OF THE
03700	PARAMETERS FOR STAFF 0 IS USED (SEE PG.5) AND MORE THAN ONE  SEPARATE
03800	FILE  IS TO BE CREATED FOR PRINTING ON THE CALCOMP, THE ANSWER TO THE
03900	FIRST PROMPT SHOULD BE 'N' FOR ALL RUNS AFTER THE LOWEST  PORTION  OF
04000	THE PAGE IS DONE.
04100	
04200		IF THE PAGE IS IN MORE THAN ONE SECTION ALWAYS START WITH THE
04300	BOTTOM  SECTION FIRST.  YOU WILL BE ASKED FOR FILE NAMES.  WHEN THERE
04400	ARE NO MORE TO BE GIVEN TYPE <CR>.  
04500	THE QUESTION, "MOVE UP AT END?" SHOULD BE ANSWERED BY Y, N OR WITH
04600	A NUMBER.  A NUMBER WILL INDICATE THE NUMBER OF INCHES TO MOVE FROM
04700	THE LEVEL OF STAFF 0 AT POSITION 0 TO STAFF 0, POSITION 0 IN THE 
04800	SUCCEEDING FILE.
04900	'Y' WILL PLACE THE SUCCEEDING FILE'S LOWEST POINT ABOUT 1/2" ABOVE
05000	THE HIGHEST POINT OF THE FIRST FILE.  'N' IS USED TO WRITE FILES
05100	EXACTLY ON TOP OF ONE ANOTHER.
05200	
05300		IF THE FILE NAMES FORM A SERIES OF 5 LETTER NAMES ENDING WITH
05400	CONSECUTIVE  LETTERS  OF  THE  ALPHABET,  YOU  MAY TYPE THE LAST NAME
05500	FOLLOWED BY THE TOTAL NUMBER OF FILES THAT ARE TO BE PRINTED ON  THAT
05600	SINGLE PAGE.  THE FILES WILL BE FOUND IN THE PROPER SEQUENCE.
05700	FOR EXAMPLE, 'TRC4D 4' WILL PRINT FILES TRC4D THROUGH TRC4A.
05800		IF A SECOND NUMBER IS TYPED, THE FILES WILL BE EVENLY SPACED
05900	BY THAT NUMBER OF INCHES BETWEEN THE BOTTOM OF EACH STAFF 0 -- AS
06000	DESCRIBED ABOVE.
06100	
06200	A SIZE FACTOR OF 1 CREATES THE CORRECT WIDTH FOR 8 1/2" PAPER.
06300	  TYPE A SECOND NUMBER(1) AFTER 'SIZE FACTOR' TO HEAVIER STAFF LINES AND
06400	  LEDGER LINES.  (SOMETIMES NECESSARY WITH XGP.)
06500	
06600	WHEN THE PROGRAM HAS EXITED A FILE CALLED PLT.DMD HAS BEEN WRITTEN ON
06700	THE  DSK.   THE DATA MAY NOW BE PRODUCED ON THE PLOTTER (BY USING THE
06800	PLOT PROGRAM, P.DMP[MSS,LCS])  OR  ON  THE  XGP  (BY  USING  THE  XGP
06900	PROGRAM,   X5.DMP[MSS,LCS].)   (PLOT   HAS  NO  PROMPTS  AND  XGP  IS
07000	SELF-EXPLANATORY.)
07100	
07200	
07300	---- FOLLOWING ARE OLD PLOT COMMANDS ----
07400	'P' N1, N2, N3, N4, N5, N6 = PLOT DISPLAY
07500		 N1=WIDTH FAC., 
07600		 N2=HEIGHT FAC.
07700	         N3=1, PLOTS ONLY THIN LINES. N3=2, PLOTS ALL BUT THIN LINES.
07800		 N4=1  NO MOVE AT START 
07900		 N5=1  NO MOVE AT END.
08000		 N6= MOVE UP 'N' STAVES AT END.
     

00100	--------  SECTION IV  -----------
00200	
00300	******  VARIOUS WAYS TO GET INTO EDIT MODE  ********
00400	
00500	
00600	   TO MOVE LAST ITEM ENTERED LFT-RT OR UP-DOWN:
00700		'L', 'R', 'U' OR 'D' + NUM OF STEPS TO LFT-RT 
00800			(NOTHING ELSE REQUIRED)
00900	   THIS WORKS ONLY IMMEDIATELY AFTER THE ITEM HAS BEEN ENTERED.
00910	
00920	  ONCE IN EDIT MODE, THE SETTING OF P13 TO 1 WILL USUALLY CAUSE THE
00930	  CURRENT ITEM TO CENTER ON A NEARBY NOTE'S HORIZANTAL POSITION.
01000	
01100	
01200	'ED(IT)', POS, STAFF, (CODE NUM) ----- TO USE LIGHT PEN: TYPE 'ED' <CR>
01300	
01400	A VERTICAL LINE WILL APPEAR AT  THE  POSITION  GIVEN  AND  ALL  ITEMS
01500	WITHIN  5  SPACES OF THE LINE ON THAT STAFF WILL COME UP FOR EDITING.
01600	TO PASS OVER AN ITEM TYPE <CR>.  SEE BELOW FOR METHOD OF CHANGING THE
01700	VARIOUS PARAMETERS.
01800	
01900	IF THE STAFF NUMBER IS GREATER THAN 4, ITEMS ON  ALL  STAVES  MAY  BE
02000	EDITED.
02100	
02200	IF A CODE NUMBER IS GIVEN, THE ITEM NEAREST THE LINE WITH THAT NUMBER
02300	WILL COME UP.  FOLLOWING, ALL OTHER ITEMS OF THAT NUMBER ON THAT LINE
02400	WILL COME UP.
02500	
02600		  WITH THE LIGHT PEN, MOVE CURSOR TO THE ITEM TO BE
02700		  EDITED.  TYPE <CR> AND ITEMS ON ALL STAVES NEAR THAT POINT
02800		  WILL COME UP FOR EDITING IN ORDER. (USES SAME MODE
02900		  AS ABOVE.)
03000	
03100	S(ET) AND A(LIGN) ---------
03200	
03300	IF YOU TYPE 'S' WHILE IN THE ABOVE  FORM  OF  EDIT  MODE  ('ED')  THE
03400	VERTICAL  LINE  WILL  JUMP  TO THE POSITION OF THE CURRENT ITEM UNDER
03500	CONSIDERATION. TYPE <CR> TO PROCEED TO OTHER ITEMS.   AT  THIS  POINT
03600	TYPING 'A' WILL  AUTOMATICALLY ALIGN THE CURRENT ITEM TO THE POSITION
03700	OF THE ITEM AT 'SET'.  TYPE 'X' TO EXIT FROM ANY EDIT MODE.
03800	
03900	'LP'=LIGHT PEN --- THIS MAY BE USED IN ANY FORM OF EDIT MODE.  MOVE
04000			THE CURSOR TO THE LOCATION DESIRED FOR THE ITEM.
04100			<CR> WILL MOVE THE ITEM.  NOTE THAT HORIZANTAL
04200			MOVEMENT IS FREE BUT VERTICAL MOVEMENT IS BY STAFF
04300			NUMBERS.  ALL DETAILS OF VERTICAL MOVEMENT MUST BE
04400			TYPED IN.
04500	
04600	
04700	  'I' N = EDIT ITEM NUMBER N
04800			THIS MAY BE TYPED AT ANY TIME WHILE IN EDIT MODE.
04900			THE ITEM INDICATED WILL NEXT COME UP.
05000	  'ST' STAFF NUM, CODE NUM--EDITS ONLY ITEMS OF THAT CODE NUM ON
05100	           THAT STAFF.   IF CODE=0, THEN ALL ITEMS WILL COME UP.
05200	
05300	
05400	***********  HOW TO CHANGE PARAMETERS  ****************
05500	
05600	
05700	  IN EDIT MODE: 'L','R','U', OR 'D' FOLLOWED BY N, MOVES N SPACES TO
05800	    LEFT, RIGHT, UP OR DOWN.  2 DIRS. MAY BE GIVEN AT ONCE.
05900	
06000	  AFTER AN 'L' OR 'R' MOVE HAS BEEN MADE, THE LETTER ALONE (NO NUMBER)
06100	  WILL SUFFICE TO MOVE THE SAME VALUE AGAIN.  THE SAME APPLIES TO 
06200	  THE 'U-D' PAIR.
06300	
06400			****-- OR --****
06500	
06600	  PN1,N1  PN2,N2  PN3,N3  ETC. (TYPE PAIRS OF NUMS TO CHNG PARAMS)
06700			THE FIRST OF EACH PAIR MUST BE THE PARAMETER NUMBER
06800			AND THE SECOND WILL BE THE NEW VALUE FOR THAT PARAM.
06900	
07000			IF 2 ZEROS ARE ADDED AFTER A PARAMETER NUMBER (i.e.
07100			600 INSTEAD OF 6) THE SECOND NUMBER OF THE PAIR
07200			WILL BE ADDED TO THE CURRENT VALUE OF THAT PARAMETER
07300			INSTEAD OF MERELY REPLACING.  THIS IS USEFUL FOR 
07400			EXTENDING P6 OF SLURS OR BEAMS, ETC.
07500	
07600			 <CR> ENDS EDIT AND MOVES TO NEXT ITEM FOR EDIT
07700			 'X' ENDS EDIT, EXITS TO INPUT MODE
07800			 'C'SAVES OLD AND NEW FORMS, I.E. "COPIES" ITEM.
07900			 'C' N  SAVES & MOVES TO ITEM N.
08000			 'DEL'  DELETES ITEM AND MOVES ON TO NEXT
08100	
08200	HOMING	**** SET P13=1 TO HOME IN ON ANY NEARBY NOTE ON SAME STAFF.
08300			(P13 RESETS SELF TO 0)
08400	
08500	
08600	GROUP EDIT COMMANDS - - - - - - - 
08700	
08800	'MOVE' OR 'M' <CR>:  TO MOVE GROUPS OF ITEMS
08900	
09000	 YOU WILL BE ASKED TO TYPE: 
09100			STAFF NUM, POS1, POS2, (CODE NUM)
09200	
09300	    TO SHRINK OR EXPAND ALL STAVES GIVE STAFF NUM = 11.
09400	    IF NO CODE NUM(4TH NUM) IS GIVEN ALL ITEMS IN THE AREA WILL BE MOVED.
09500	
09600	     IF 'L' IS GIVEN AS STAFF NUM, THE AREA TO BE MOVED MUST
09700	     BE INDICATED WITH THE LIGHT PEN.
09800	
09900	   *********  88 NOT WORKING NOW  4/75 **************
10000	    TO MOVE A CONTINUOUS GROUP OF ITEMS TYPE:
10100			88,  1ST ITEM NUM,  LAST ITEM NUM
10200	
10300	          ----- 'ASK' FEATURE ****** NOT WORKING NOW 4/75 *****------
10400	        IF 100 IS ADDED TO THE CODE NUM, YOU WILL BE ASKED IF YOU
10500	   WANT TO MOVE EACH ITEM INDIVIDUALLY.  'X' WILL EXIT FROM 'MOVE'.
10600	
10700	     TYPE '99' AT ANY TIME TO BACKUP WHEN IN 'MOVE', 'COPY', ETC.
10800	
10900	
11000	THE SECOND PROMPT IS:
11100	   TYPE NEW STAFF #, POS1, POS2, UP-DOWN #
11200	
11300	     IF POS2=0, POS1 WILL BE TAKEN AS THE ABSOLUTE 'MOVE' VALUE.
11400	
11500	'COPY' OR 'C' <CR>:  TO COPY GROUPS OF ITEMS.
11600	
11700		WORKS SAME AS 'MOVE' BUT ORGINAL IS LEFT BEHIND.
11800	
11900	'DELETE' OR 'DE' <CR>:  TO DELETE GROUPS OF ITEMS.
12000	
12100		SAME STRUCTURE AS 'MOVE'.
12200	
12300	 *******  N,-99  WILL DELETE ALL LINES EXCEPT! LINE 'N'. 
12400		******** USE WITH GREAT CARE!! *********
12500	
12600	'ALTER' OR 'A' <CR>:  TO ALTER GROUPS OF ITEMS.
12700	
12800		FIRST PART IS SAME AS 'MOVE'.  AFTER THE AREA HAS BEEN
12900		DESIGNATED YOU WILL BE ASKED TO SPECIFY PARAMETER CHANGES
13000		WITH PAIRS OF NUMBERS -- Pn, Change, Pn, Change, etc.
13100	
13200	
13300		IF THE FIRST NUMBER GIVEN IS 12 AND YOU HAVE ALREADY
13400		SPECIFIED CODE NUM 1, ALL NOTE STEMS, BEAMS AND SLURS
13500		IN THE GIVEN AREA WILL BE INVERTED.
13600	
13700		WITH CODE 8 (SLURS), 12 WILL REVERSE THE CURVE AND PUT
13800		IT ON THE "WRONG" SIDE OF THE NOTE.
13900	
14000		IF THE FIRST NUMBER GIVEN IS 13 AFTER CODE NUM.1 HAS BEEN
14100		SPECIFIED THEN ALL NOTES, RESTS AND BEAMS WITHIN THE GIVEN
14200		AREA WILL BECOME "MINIS".  USE THIS FOR MAKING CUES, ETC.
14300	
14400	
14500	'DP' N1, N2, . . . . .: COVERS OR UNCOVERS PARTS OF DISPLAY
14600		END WITH A 99 TO MAKE THE EFFECT IMMEDIATE.
14700	
14800	'J'  WILL AUTOMATICALLY JUSTIFY LINES, ALLOWING PROPER SPACES FOR
14900	       FOR MOST ACCIDENTALS, CLEFS, ETC.  A STAFF NUM >5 WILL JUSTIFY
15000	       ALL LINES AS A UNIT.  IF POS2 = 0, IT WILL BE TAKEN AS 200.
     

00100	--------  SECTION V  ---------
00200	
00300	  'SCORE' ITEMS: NOTES-- 14, STAFF
00400	
00500		144 (INSTEAD OF 14)WILL READ EDIT FILE. SEE BELOW FOR FILE
00600		FORMAT.  THE PROGRAM WILL ASK FOR STAFF NUMBER AND FILE NAME.
00700	
00800	****** THERE ARE 2 INPUT MODES POSSIBLE.  THE 1ST DEALS SEPARATELY
00900		WITH PITCH AND RHYTHM PARAMETERS.  THE 2ND COMBINES THEM
01000		IN ONE INPUT LIST.  ALL THE EXAMPLES BELOW (UNTIL MODE 2
01100		IS MENTIONED) WILL REFER TO MODE 1.
01200			TO USE MODE 2 SET P3 TO 2.  e.g. 14 -3 2
01300	
01400	
01500	****  HOW TO USE "SCORE" ITEMS  ****
01600	
01700		 NOTES ARE TYPED IN ALMOST EXACTLY AS IN THE "SCORE" PROGRAM.
01800	  I.E. S=#, F=b, N=NATURAL (bb AND ## ARE NOT AVAILABLE YET.)
01900	  OCTAVE NUMBERS MUST BE USED.  'P' (FOR PROXIMITY MODE) MAY
02000	  BE USED.  'O' RETURNS TO ORDINARY MODE.
02100	
02200	 R=REST   RI=INVISIBLE REST   RW=WHOLE REST   Rn=WHOLE REST WITH
02300						THE NUMBER n ABOVE IT (UP TO 99).
02400	
02500	ALL OF THESE MUST BE GIVEN TIME VALUES UNDER 'RHYTHM' BUT THE LAST TWO
02600	MAY BE GIVEN ANY RHYTHMIC VALUE DESIRED.
02700	
02800		  TREBLE CLEF IS ASSUMED.  TO ENTER A CLEF, TYPE CLEF NAME 
02900	  FOLLOWED BY A SLASH. (TR/  BA/  AL/  TEN/)   PRECEDED  THE  CLEF
03000	  NAME BY A MINUS SIGN (-BA/) TO HAVE THE AFFECT OF A CLEF WITHOUT
03100	  THE CLEF ACTUALLY APPEARING. (IF NO CLEF IS GIVEN IT WILL ALWAYS
03200	  BE TREBLE CLEF POSITION.)
03300	
03400	USE 'M' (FOR MEASURE) TO ENTER A BAR LINE.  'M2' WILL MAKE A  BAR  GO
03500	UP 2 STAVES; 'M3' WILL GO UP 3 STAVES, ETC.
03600	
03700	  METER (TIME SIGNATURE) MAY BE ENTERED WITH /Tn,m/ WHERE n,m ARE
03800	  THE TOP AND BOTTOM METER NUMBERS.  IN n=99 AND m=1 THE LETTER C WILL
03900	    PRINT. (THE 1 MUST BE THERE.  i.e./T99 1/ )   98 1 GIVES 'ALLA BREVE'.
04000	
04100	  FOR KEY SIGS TYPE /Kna/ WHERE n=NUMBER OF ACCIDENTALS AND
04200			a='S' OR + FOR SHARPS, OR - OR 'F' FOR FLATS.
04300	
04400	  NO MORE THAN 72 CHARACTERS MAY APPEAR
04500	  ON ONE LINE OF INPUT. (BUT MORE THAN ONE LINE MAY BE USED.)
04600	  THE LINE MUST END WITH A SLASH OR, WHEN NO MORE NOTES ARE
04700	  TO APPEAR, WITH A SEMI-COLON.
04800	
04900		THE MOTIVIC FEATURES OF "SCORE" MAY BE USED WITH INPUT
05000		MODE 1 (BUT WITH NO "NESTING").  MOTIVES ARE SAVED 
05100		WITH DISPLAY DATA AND CAN BE REUSED WHEN WORKING LATER.  
05200	  (NO MORE THAN 200 ITEMS CAN BE SAVED IN ANY  LIST OF MOTIVES.)
05300	
05400	  CHORDS ARE CONSTRUCTED BY USING THE COLON IN PLACE OF THE SLASH
05500	  BETWEEN NOTES.
05510	
05600	  THE COLON CAUSES THE NOTE TO OCCUPY THE SAME RHYTHMIC POSITION
05700	  AS THE FIRST NOTE TO APPEAR AFTER A COLON.  THE STEM DIRECTION IN
05800	  CHORDS WILL BE DETERMINED BY THE ORDER OF APPEARANCE OF THE NOTES.
05900	  IF THE FIRST NOTE IS THE LOWEST, THE STEM GOES UP; IF THE FIRST IS
06000	  THE HIGHEST, THE STEM GOES DOWN.  POSITIONING OF NOTES ON PROPER
06100	  SIDE OF STEM AND (IN MOST CASES) SPACING OF ACCIDENTALS AND DOTS
06200	  IS AUTOMATIC.
06300	
06400	   NOTE THAT SINCE ALL THE NOTES OF A CHORD USE ONLY ONE RHYTHM
06500	   ALL REPEAT FEATURES CONSIDER ALL NOTES OF A CHORD AS ONE 
06600	   ENTITY.   / C4 / D:F:A / REP 2 3/  WILL DRAW THE SEQUENCE 
06700	   C, D MINOR CHORD THREE TIMES.  / D:F:A X3/ DRAWS 3 CHORDS.
06800	   / D:F:A //// MAKES 4 CHORDS.
06900	
07000	
07100		ALL NON-RHYTHMIC ITEMS (CLEFS, ETC.) WILL BE IGNORED IN 
07200		REGARD TO THE 1ST NUMBER AFTER 'REP'.
07300		/ C4 / M / D:F:A / REP 2,3 / WILL CONSIDER THE 2 ITEMS
07400		TO BE 'C' AND THE D MINOR CHORD, BUT THE BAR LINE WILL
07500		BE INCLUDED IN THE REPEAT.  THUS THE PROGRAM WILL DRAW
07600		'C', BAR, D MINOR - THREE TIMES.
07700	
07800	  GRACE NOTES MAY BE USED -- SEE UNDER RHYTHM BELOW.
07900	
08000	    TO BY PASS AUTOMATIC STEM DIRECTIONS TYPE SU/ (STEM UP) OR
08100	SD/ (STEM DOWN).  ONCE EITHER OF THESE APPEARS ALL THE STEMS WILL
08200	GO IN THE INDICATED DIRECTION UNTIL A CHANGE IS GIVEN.
08300	
08400	********* NOTE THAT ALL REPEAT FEATURES (X, /, REP) IGNORE 'SD', 'SU'
08500	AND 'M' INDICATIONS.   THUS   M/C4/SD/E/F/M/SU/REP 3/  WILL DISPLAY A
08600	BAR LINE,  C,  E AND F WITH STEMS DOWN, A BARLINE, C WITH STEM UP AND
08700	E AND F WITH STEMS DOWN AND FINALLY ANOTHER  BARLINE.    THE  'REP 3'
08800	SAYS THAT 3 NOTES AND THE THINGS THAT GO WITH THEM WILL BE REPEATED.
08900	
09000	   (INPUT MODE 1)
09100	   EX.  M/BASS/ K4F /T12 8 /C3/EF/E/ M /D X 3/EN2:GS:B/M;
09200	
09300	    A BAR LINE COMES FIRST, THEN BASS CLEF.
09400	    NEXT IS A 4 FLAT KEY SIGNATURE, FOLLOWED BY 12/8 TIME.
09500	    THE 3RD NOTE WILL BE AN 'E' WITH NO ACCIDENTAL.
09600	    A BAR LINE WILL PRECEED THE THREE Ds.
09700	    THE LAST 3 NOTES WILL BE AN E MAJOR CHORD.
09800	    ENDS WITH A BAR LINE.
09900		(In the example above the spaces on either side of the
10000		slashes are optional [to help proof reading].  The other
10100	    	spaces, i.e. in "12 8" and in "D X 3" are required.)
10200	
10300		AFTER THE LAST NOTE HAS BEEN ENTERED THE PROGRAM WILL 
10400	  ASK FOR 'POS1, POS2, (SPC)'.
10500	  THE NOTES WILL BE EVENLY SPACED BETWEEN THE 2 POSITIONS ENTERED.
10600	(<CR>=0,200)  AFTER THE RHYTHM IS ENTERED THE NOTES  WILL  BE  SPACED
10700	EXACTLY  ACCORDING  TO  THEIR  RHYTHMIC  VALUES  IF NO 3RD NUMBER WAS
10800	TYPED. IF A 3RD NUMBER IS ENTERED, THE RHYTHMIC VALUES WILL BE SPACED
10900	ACCORDING  TO  A  PSUEDO-FIBONACCI  SCALE.  I.E. HALF NOTES WILL TAKE
11000	SOMEWHAT LESS THAN TWICE AS MUCH SPACE AS  QUARTERS,  ETC.   ---  USE
11100	THIS  ONLY  FOR  SINGLE-LINE PARTS!!  
11200	
11300	NEXT YOU WILL BE ASKED TO 'TYPE RHYTHM'.
11400	  '99' WILL BACK UP, '999' WILL ESCAPE FROM "SCORE" MODE.
11500	
11600	   A rhythmic duration must be given for each note, rest or 
11700	   chord previously entered. (Clefs, bar lines, etc. should
11800	   ignored.)
11900	
12000	THE MOST COMMON RHYTHMIC VALUES MAY BE  ENTERED  WITH  LETTER  NAMES.
12100	S=SIXTEENTH,  E=EIGHTH,  Q=QUARTER,  H=HALF, W=WHOLE,
12200		 T=TRIPLET(i.e.12th NOTES) , G=GRACE NOTE (OR 88TH)
12300	THESE ARE THE ONLY! LETTER NAMES  THAT  MAY  BE  USED.   HOWEVER  ANY
12400	RHYTHMIC  VALUE,  NO  MATTER HOW COMPLEX, MAY BE ENTERED IN NUMERICAL
12500	FORM.  16=SIXTEENTH, 10=TEN IN THE TIME OF A WHOLE NOTE, 12=TWELVE IN
12600	THE TIME OF  A  WHOLE  NOTE(THE  NORMAL  TRIPLET), ETC.   NUMBERS AND
12700	LETTERS MAY BE MIXED IF DESIRED.
12800	
12900	DOTTED RHYTHMS WILL AUTOMATICALLY PUT DOTS ON NOTES.    MORE  COMPLEX
12910	RHYTHMS  MUST  BE  DOTTED  INDIVIDUALLY.   (THEY  WILL  BE  CORRECTLY
12920	SPACED.)
13200	
13300	   4 16TH NOTES, A QUARTER, A DOTTED 8TH, 16TH, HALF,
13400	   3 TRIPLETS, AND A WHOLE NOTE FOLLOW:
13500	
13600		16////4/8./16/2/12///1;
13700		(OR: S////Q/E./S/H/T///W; )
13800	
13900		***** NOTE THAT CHORDS WITH WHOLE NOTE RHYTHM WILL APPEAR
14000		      WITH A STEM.  THE STEM IS NEEDED TO INSURE PROPER
14100		      PLACEMENT OF NOTES A SECOND APART.  YOU!! MUST
14200		      REMOVE SUCH STEMS AFTER THE LINE IS COMPLETE!! *****
14300	
14400		**** FOR GRACE NOTES, TYPE 'G' OR RHYTHMIC VALUE OF 88.
14500	
14600	******  INPUT MODE 2 ********  ONLY DIFFERENT FOR NOTES AND RHYTHMS
14700	
14800	   IN THIS CASE EACH NEW RHYTHMIC VALUE MUST BE ENTERED JUST BEFORE
14900	   THE NOTE (OR CHORD) TO WHICH IT WILL APPLY.  REPEAT FEATURES WILL
15000	   ACT IN THE NORMAL WAY.
15100	
15200		TR/4 C4/ D / 8 E/F// 16 G/ A/ 4//REP 4;
15300	   PRODUCES - TREBLE CLEF, QUARTER-C, QUARTER-D, EIGHTH-E,
15400	   2 TIMES 8TH-F, 16TH-G, 16TH-A, QUARTER-A, QUARTER-A, THE LAST 4
15500	   ITEMS (G A A A)REPEAT WITH THEIR GIVEN RHYTHMS.
15600		OF COURSE THERE WILL NOW BE NO PROMPT FOR RHYTHMS.
15700	
15800	
15900		THE NEXT REQUEST IS 'ADD MARKS?' TYPE 'Y', 'N',  99  OR  999.
16000	IF 'YES' GIVE NOTE NUMBERS AND THE ABBREVIATIONS FOR MARK NAMES.  WHEN
16100	COUNTING NOTES, IGNORE RESTS, CLEFS ETC.  CHORDS  COUNT  AS  1  NOTE.
16200	THE ABBREVIATIONS FOR THE ACCENTS, ETC. ARE W(EDGE), A(CCENT),
16300	FE(RMATA), S(TACCATO), T(ENUTO)(DASH), D(OWN BOW), U(P BOW),
16400	H(ARMONIC), PL(US), CR(ESC.), DI(M.), AC(CEL.), R(IT.), C+, C-.
16500	THE LAST TWO LISTED, C+,C-, WILL PRODUCE THE LINEAR CRESC. AND DECRESC.
16600	SIGNS.  WITH THESE TWO ITEMS ONLY! YOU MUST TYPE A SECOND POSITION NUMBER.
16700	
16800	 /1.3  C+  3/	PUTS A CRESC. SIGN FROM BETWEEN  NOTES 1 AND 2 EXTENDING
16900			TO NOTE 3.
17000	
17100	 /.5  C-  3.5/ 	PUTS A DECRESC. SIGN FROM 1/2 WAY BETWEEN  THE POSITION 1
17200	(GIVEN EARLIER) AND NOTE 1 TO A POINT 1/2 WAY BETWEEN NOTES 3 AND 4.
17300	
17400	
17500	THE DYNAMICS, ETC. WHICH MAY BE ENTERED  ARE:
17600	
17700	 PPP, PP, P, MP, MF, F, FF, FFF, CRESC., DIM., ACCEL., RIT.
17800	
17900	ALL THESE MAY BE PUT DIRECTLY UNDER NOTES, OR, BY USING FRACTIONAL NOTE
18000	NUMBERS, BETWEEN NOTES.
18100	
18200		/1.5 PP/  PUTS PP 1/2 WAY BETWEEN NOTES 1 AND 2.
18300	
18400	
18500	UP TO 2 MARKS(I.E. NOT DYNAMICS, ETC.)  MAY BE ENTERED FOR
18600	EACH NOTE -- BUT EACH MARK MUST BE ENTERED SEPARATELY  WITH  ITS NOTE
18700	NUMBER. IN ADDITION TO THE MARKS A DYNAMIC INDICATION, ETC. MAY BE 
18800	ENTERED FOR THE SAME NOTE.
18900	
19000		EXAMPLE:  1 A / 6 A / 7 T / 10 S / 10 W;
19100		 = 1 ACCENT/6 ACCENT/7 TENUTO/10 STACCATO/10 WEDGE ACCENT
19200	
19300	
19400	     NEXT YOU WILL BE ASKED 'ADD BEAMS?'  TYPE 'Y', 'N' OR nB TO THIS.
19500		nB WILL PLACE BEAMS AUTOMATICALLY. (SEE BELOW)
19600	        '99' WILL BACK UP, '999' WILL ERASE INPUT AND 
19700	        LEAVE "SCORE" MODE.
19800	
19900	        'G' (FOR GO) (INSTEAD OF 'Y' OR 'N') WILL OMIT ALL FURTHER
20000	        PROMPTS IN THIS MODE.
20100	
20200	BEAMS WILL BE ENTERED AUTOMATICALLY  IF  YOU  TYPE  nB;  WHERE  n=THE
20300	NUMBER  OF  EIGHTH  NOTES  TO  BE  BEAMED TOGETHER.  2B; WILL BEAM BY
20400	QUARTERS (I.E. 2 8THS), 3B; GIVES STANDARD BEAMING  FOR  3/8  OR  6/8
20500	TIME.   DECIMAL NUMBERS MAY BE USED FOR N. THUS 1.5B; WOULD BEAM EACH
20600	GROUP OF 3 16THS.
20700	
20800	IF IRREGULAR BEAMS ARE NEEDED, GIVE THE NOTE NUMBERS  FOR  THE  FIRST
20900	AND LAST NOTES UNDER THE BEAMS.  IF THE SECOND NUMBER IS NEGATIVE THE
21000	STEMS FOR THE GROUP WILL GO DOWNWARD.
21100	WHEN COUNTING NOTES, IGNORE RESTS, CLEFS ETC.  CHORDS COUNT AS 
21200	ONE NOTE.
21300	
21400		IF YOU HAVE 4 16TH NOTES (STEMS UP) FOLLOWED BY 2 QUARTERS
21500	 AND  3 8THS (STEMS DOWN) TYPE:
21600	
21700		1,4 / 7  -9 ;
21800	
21900	  SOME PARTIAL BEAMS MAY HAVE TO BE ADDED INDIVIDUALLY AS YET.
22000	
22100	      ****** AUTOMATIC BEAMS ****** IN MOST SIMPLE SITUATIONS ALL THE
22200	      BEAMS MAY BE PLACED AUTOMATICALLY BY SIMPLY TYPING "2B;". (OR
22300	      "3B;")   2B; WILL CAUSE ALL LOGICAL BEAM CONNECTIONS TO BE MADE
22400	      IN TERMS OF DUPLE RHYTHM.  USE 3B; FOR TRIPLE RHYTHMS SUCH AS
22500	      3/8, 6/8, 9/8, ETC.  THE BASIC UNIT FOR 2B; IS THE QUARTER NOTE
22600	      AND THE BASIC UNIT FOR 3B; IS THE DOTTED QUARTER.
22700	
22800	
22900	    LASTLY YOU WILL BE ASKED 'ADD SLURS?'  
23000	    TYPE 'Y' OR 'N'. TO THIS.
23100	
23200	IF SLURS ARE ADDED, THE ORDER NUMBERS OF THE NOTES AT  THE  BEGINNING
23300	AND  END OF THE SLUR MUST BE GIVEN.  IF THE SECOND NUMBER IS NEGATIVE
23400	THE 'DIP' WILL BE DOWNWARD AND THE STEMS WILL GO UP.  VICE-VERSA  FOR
23500	A  POSITIVE  SECOND  NUMBER.   IF YOU HAVE USED THE 'B' FEATURE ABOVE
23600	(AUTOMATIC BEAMS) THEN THE NEGATIVE AND POSITIVE DIPS  WILL  ALSO  BE
23700	AUTOMATIC - HENCE NO NEED TO USE ANY NEGATIVE NUMBERS AT THIS POINT.
23800	
23900		THE AMOUNT OF CURVE WILL DEPEND ON THE CONFIGURATION  OF  THE
24000	NOTES  BETWEEN  THE END POINTS.  IN EXTREME SITUATIONS IT IS PROBABLE
24100	THAT THE RESULT OF THIS AUTOMATIC PROCEDURE WILL HAVE TO BE EDITED.
24200	
24300		A TYPICAL EXAMPLE OF INPUT:   2,-3/ 2,-7/ 8,11;
24400	
24500			THIS WILL PUT SLURS FROM 2ND TO 3RD NOTE, 2ND TO 7TH
24600			AND 8TH TO 11TH.
24700	
24800	TO  SLUR  INTO THE 1ST NOTE, TYPE -1,1/ OR -1, -1/.  TO SLUR OUT FROM
24900	THE LAST NOTE, TYPE N,99* OR N,-99* WHERE N=NUMBER OF LAST NOTE.
25000	
25100	  ***** NOTE THAT TIES BETWEEN THE INNER NOTES OF TWO CHORDS CANNOT
25200		BE DONE AUTOMATICALLY AS YET.
25300	
25400	TO MAKE NUMBERED BRACKETS (FOR TRIPLETS, ETC.) INSTEAD OF SLURS, TYPE
25500	THE  NUMBER  (ONE  DIGIT ONLY) DESIRED TO THE RIGHT OF THE DECIMAL OF
25600	THE FIRST OF A PAIR.  THUS TO PUT A BRACKETED 3 OVER NOTES  7  TO  9,
25700	TYPE  7.3  9/ .   AS WITH SLURS, THE SECOND NUMBER MAY BE NEGATIVE TO
25800	GET A DOWNWARD BRACKET.
25900	
26000	
26100	∞∞∞∞∞ FOR 'BEAMS', 'MARKS' AND 'SLURS' A 2ND LINE OF INPUT MAY BE
26200		GIVEN IF THE 1ST LINE ENDS WITH '/' INSTEAD OF ';'.
26300	
26400		ALL ITEMS ENTERED UNDER '14' MAY BE EDITED LATER AS IF THEY
26500	  WERE ENTERED INDIVIDUALLY.
26600	
26700	FOR CODE # 144:  FOLLOWING IS THE FILE FORMAT FOR "SCORE" INPUT FROM
26800	   AN EXTERNALLY EDITED FILE.  THE NAME OF THE FILE CAN HAVE NO MORE
26900	   THAN FIVE LETTERS.
27000	
27100		00100   (NOTES) . . . ;
27200		00200   (RHYTHM) . . . ;
27300		00300   (ACCENTS) . . ;  BLANK LINE = NO MARKS
27400		00400   (BEAMS) . . ; A BLANK LINE = NO BEAMS
27500		00500   (SLURS) . . ;  BLANK LINE = NO SLURS
27600	
27700		(2ND LINES MAY BE ADDED WITH ALL ITEMS EXCEPT RHYTHM.)
27800	
27900	    THIS SEQUENCE MAY BE REPEATED SEVERAL TIMES.  THE PROGRAM WILL
28000	    ASK FOR EACH OF THE STAFF NUMBERS.
28100	
28200	
28300	****  SUMMARY OF SCORE CODES ****
28400	
28500	NOTES 		A-G
28600	ACCIDENTALS	F-S-N
28700	REST		R, RI FOR INVISIBLE REST, RW FOR WHOLE REST ALWAYS.
28800	CLEFS		TR-BA-AL-TE    -TR, -BA, ETC. =INVISIBLE CLEF
28900	BAR, MEASURE	M
29000	KEY SIG.	KnS OR KnF
29100	METER,TIME SIG.	Tn,m
29200	STEM DIRECTION	SU-SD
29300	iXn		REPEAT ITEM i A TOTAL OF n TIMES.
29400	REP n,m		REPEAT LAST n ITEMS A TOTAL OF m TIMES.
29500	Xn m		SAME AS REP.
29600	ACCENT		A
29700	WEDGE		W
29800	TENUTO		T
29900	STACCATO	S
30000	HARMONIC	H
30100	FERMATA		FE
30200	DOWN BOW	D
30300	UP BOW		U
30400	+(PLUS)		PL
30500	THESIS		TH		
30600	ARSIS		AR
30700	MORDANT		MO
30800	INV. MORD.	I
30900	TRILL		TR
31000	PPP, PP, P, MP, MF, F, FF, FFF
31100	CRESC.		C
31200	ACCEL.		AC
31300	DIM.		DI
31400	RIT.		R
31500	< (CRESC.)	n1 C+ n2
31600	> (DECRESC.)	n1 C- n2
     

00100	---------  SECTION VI  -----------
00200	
00300	********* TO SET UP AUTOMATIC IRREGULAR RHYTHMIC SPACING *******
00400	---- TYPE 444,n  to setup STAFF n as basis for automatic spacing. ---
00500	
00600		ANY  NOTES WHICH APPEAR ON STAFF n WILL CAUSE ALL ITEMS LATER
00700	ENTERED WITH '14' OR '144' TO BE  SPACED  ACCORDING  TO  THE  SPACING
00800	GIVEN  ON  STAFF n. 
00900	
01000		 ALL FURTHER LINES ENTERED WILL CONFORM TO THE SPACING ON
01100		 STAFF n UNLESS THE STAFF IS DELETED OR 444 IS AGAIN TYPED,
01200		 FOLLOWED BY SOME NEW NUMBER.
01300	
01400	    ------N.B. IF ANY EDITING OF STAFF n IS DONE BE SURE THAT THE 
01500		SPACE VALUES IN P9 OF NOTES OR P7 OF RESTS IS CORRECT.  THE
01600		AUTOMATIC SPACING IS BASED ON THESE VALUES.  THE VALUES ARE
01700		SET WHEN '14' OR '144' IS USED.  THE BASIC VALUE IS ONE
01800		QUARTER=1.  HALF=2, WHOLE=4, EIGHTH=.5, SIXTEENTH=.25, ETC.
01900	
02000		NOTE THAT 444 MUST BE RESET AFTER ANY RESTART OR WHEN
02100		RE-RUNNING THE PROGRAM.
02200	
02300	  IT IS BEST TO ACCOUNT FOR ALL BAR LINES, CLEFS, METERS, ETC.
02400	
02500	
02600	IN GENERAL, IT IS PROBABLY BETTER TO USE MANY SMALL VALUES ON 
02700	STAFF n.  THIS WAY IT IS EASIER TO MAKE MANY DELICATE ADJUSTMENTS.
02800	
02900	*******   PARTS   ********
03000	
03100	
03200		WHEN  ASKED "TYPE TOP STAFF #", GIVE THE HIGHEST STAFF NUMBER
03300	YOU WANT USED FOR THIS SECTION OF THE PART INVOLVED.  IF YOU TYPE "2"
03400	THE LINES 2, 1, 0, ETC. WILL BE USED UNTIL BUFFER SPACE IS EXHAUSTED.
03500	
03600		THE NEXT PROMPT WILL BE 'TYPE INPUT NAME, (CONT.),  (NOBAR)'.
03700	TYPE  THE  NAME OF THE FIRST FILE OF THE FULL SCORE TO BE READ.  IF A
03800	NUMBER(>0) IS  TYPED  AFTER  THE  NAME  THE  READ-IN  PROCEDURE  WILL
03900	CONTINUE  ON  TO THE NEXT FILE NAME, ALPHABETICALLY, AND WHEN NO MORE
04000	ARE FOUND IT WILL EXIT.
04100	ORDINARILY THE BAR LINES OF THE FULL SCORE ARE  PICKED  UP  FOR  EACH
04200	INSTRUMENTAL  PART.  TO OMIT THESE BARLINES TYPE ANY NUMBER(>0) AFTER
04300	THE 'CONT.' NUMBER.
04400	
04500		THE  NEXT  PROMPT  WILL  BE,  'INST.  NAME?' THIS ASSUMES THE
04600	ORIGINAL SCORE HAS INSTRUMENT NAMES TYPED IN P9 FOR EACH  STAFF  (SEE
04700	CODE 2, PG.2). BE SURE YOUR INSTRUMENT NAMES DO NOT EXCEED 5 LETTERS.
04800	IF  NO  INST. NAMES WERE GIVEN BUT THE PART TO BE EXTRACTED IS ALWAYS
04900	ON THE SAME STAFF, THIS STAFF NUMBER MAY BE GIVEN AS THE INST. NAME.
05000	
05100		THE NEXT PROMPT WILL  BE  'TRANS. NUM--'.  ANSWER THIS BY  THE
05200	NUMBER OF NOTE STEPS (NOT 1/2 STEPS!) TO BE TRANSPOSED.
05300	
05400	THE  MESSAGE  "NO  ROOM  FOR THIS ONE" MEANS THE BUFFER DOES NOT HAVE
05500	ROOM LEFT  FOR  ANOTHER  COMPLETE  LINE.   THIS  LAST  LINE  WILL  BE
05600	COMPLETELY IGNORED.  THEN YOU MUST START ANOTHER FILE.
05700	
05800	TRANSPOSITIONS FOR "Bb" INSTRUMENTS  AND  FOR  "F"  INSTRUMENTS  WILL
05900	AUTOMATICALLY FIX MOST OF THE NEEDED CHANGES IN ACCIDENTALS.  HOWEVER
06000	THERE ARE MANY CASES WHERE WRONG RESULTS MIGHT OCCUR  (SUCH  AS  WITH
06100	NOTES  TIED  OVER  BAR  LINES,  ETC.)  SO  CAREFUL  PROOF  READING IS
06200	ESSENTIAL.
06300	
06400	*****   PAK  (PACK AND UNPACK)  *****    FOLLOW THE PROMPTS.
06500	
06600	THIS  IS  A PROGRAM TO PACK SEVERAL MSS.DAT FILES INTO ONE FOR EASIER
06700	STORAGE. IF 'L' IS TYPED AS THE FIRST RESPONSE,  THE  CONTENTS  OF  A
06800	PACKED FILE WILL BE LISTED ON THE DISPLAY.
06900	
07000	THE SECOND PROMPT IS 'TYPE FILE NAME'.  IF NO NUMBER FOLLOWS THE NAME
07100	THE  PROGRAM  WILL  TRY  TO   CONTINUE   READING   FILE   NAMES,   UP
07200	ALPHABETICALLY  FROM THE GIVEN NAME.  WHEN NO MORE ARE TO BE FOUND IN
07300	THAT SEQUENCE, THE PROMPT WILL BE GIVEN AGAIN AND A NEW SET OF  FILES
07400	CAN  BE  ADDED.   THIS  WORKS ONLY FOR NAMES OF EXACTLY 5 CHARACTERS.
07500	SHORTER NAMES MUST BE READ IN ONE AT A TIME -- AND TO  DO  THIS,  THE
07600	NUMBER  1  MUST  COME  AT LEAST 5 SPACES AFTER THE START OF THE LINE!
07700	WHEN NO MORE NAMES ARE TO BE ADDED, HIT 'RETURN'.
07800	
07900	WHEN UNPACKING, THE PROMPT 'GET WHICH FILE?' WILL APPEAR.  IF YOU HIT
08000	'RETURN' ALL NAMES IN THE FILE WILL BE UNPACKED.  IF A NAME IS GIVEN,
08100	ONLY THAT ONE WILL BE UNPACKED.  IF A NUMBER  FOLLOWS  THE  NAME  (AT
08200	LEAST  5  SPACES IN) A TOTAL OF THAT NUMBER OF FILES WILL BE UNPACKED
08300	BEGINNING WITH THE GIVEN NAME.
08400	
08500	WHEN FILES ARE ADDED TO A PACKED FILE THEY ARE SIMPLY  ADDED  ON  THE
08600	END.   IF  THE NAME GIVEN IS ALREADY THERE, THE EARLIER NAME WILL NOT
08700	BE DELETED.  THUS WHEN THEY ARE UNPACKED THE EARLY  VERSION  OF  THAT
08800	NAME MUST BE IGNORED.
     

00100	INDEX TO SUBROUTINES:
00200	
00300	    FILE NAME:
00400	
00500		FORTRAN PROGRAMS:
00600	
00700		MSS
00800		NOTWRT	NOTWRT
00900	
01000		ITMSUB	ITMSUB
01100			BMS
01200			METER
01300			RNOTE
01400			MAKNUM
01500	
01600		PLTSRT	SLUR
01700			PLTSRT
01800			BOX
01900			HOMER
02000			SCL
02100			FORMAT
02200	
02300		MOVER
02400	
02500		CLEFS
02600	
02700		GRED	VLINE
02800			ASKIT
02900			GRED
03000			LPEN
03100			DELETE
03200			PLTCMD
03300			SAVIT
03400			LISTP
03500			FIXUP
03600	
03700		XREST	ALPHA
03800			TAIL
03900			REST
04000			BREP
04100			FERMTA
04200			PNUM
04300			SPACER
04400			KSIG
04500	
04600		WORDS 	WORDS
04700			TYPE
04800			SETLET
04810			LNEND
04900	
05000		SCANR	SCANR
05100			NALF
05200			EDIT
05300			PRESCN
05400	
05500		SCMSS	
05600	
05700		RHYTH	RHYTH
05800			SETUP
05900			MARKS
06000			DOTS
06100	
06200		NOTBMS	NOTES
06300	
06400		BEAMS	BEAMS
06500			SLEND
06600			POSIT
06700	
06800		PREFIL	FILLMS
06900			ROTATE
07000	
07100		COPYIT	COPYIT
07200			STFCH
07300			UPDN
07400	
07500		FAIL PROGRAMS:
07600	
07700		LOOP	LOOP
07800			FINDIT
07900			PLACE
08000			DPYNEW
08100			MVBEAM
08200			MVBX
08300			JUGGLE
08400			XNOTE
08500			BAUTO
08600			SORT2
08700			UPDATE
08800			NEWR
08900	
09000		SLOOP	RNOTE
09100			DRWNT
09200			RDRAW
09300			SLOOP
09400			CIRCLE
09500			PSRT
09600			RUNTHR
09700	
09800		FILL	FILLER
09900			LINES
10000	
10100		SMALL	RJBX
10200			CENTX
10300			EXTEN
10400			JDRAW
10500			CENTER
10600			LINX
10700			UNPACK
10800			ROFF
10900			NOIR
11000			NOZERO
11100			EXCH
11200			BMS
11300			IABS
11400			ABS
11500			RHORZ
11600			RTLINE
11700			FLOAT
11800			IFIX
11900	
12000		MOVE	MOVIT
12100			GETPTS
12200			OUTLIM
12300	
12400		MSSIO	GETFI2
12500			FASTI2
12600			LOOK
12700			LOOKD
12800			LOOKF
12900			(PAC)
13000			(UNPAC)
13100	
13200	FILES FOR PLOTTER AND XGP OUTPUT.
13300	
13400		MPRNT
13500		PPSRT	SLUR
13600			PLTSRT
13700			CLEFS
13800	
13900		PLTIT	PLTCMD
14000			FILLMS
14100			ROTATE
14200	
14300		SMALLX	RJBX
14400			CENTX
14500			EXTEN
14600			JDRAW
14700			CENTER
14800			LINX
14900			UNPACK
15000			ROFF
15100			NOIR
15200			NOZERO
15300			EXCH
15400			BMS
15500			IABS
15600			ABS
15700			RHORZ
15800			RTLINE
15900			FLOAT
16000			IFIX
16100	
16200		FILLX	FILLER
16300			LINES
16400			PLOT
16500			(PLOTS)
     

00100	***** PRNTX.DO ******   (PREPARES FILE FOR 'PLOTIT.F4')
00200	LOA MP←/DUMP %DMPRNT,SLOOP,SMALLX,NOTWRT,ITMSUB,XREST,
00300	PPSRT,FILLX,PLTIT,MSSIO↔
00400	
00500	
00600	***** PRNTC.DO ******   (GOES DIRECTLY TO CALCOMP)
00700	LOA MC←/DUMP MPRNT,NOTWRT,ITMSUB,FILLER,MSFAIL,PPSRT,TREST,PLTC↔
00800	
00900	XXXXXX DOMS.DO XXXXXX(TO GET NECESSARY BASIC DATA READ IN BEFORE DUMP.)
01000	LOA MM←/DUMP @DDTMSS[1,LCS]↔AL Y↔S↔G↔INIT↔βAL↔SA MM↔
01100	
01200	
01300	********  ZZ.DO  ******
01400	LOA @ZZ↔βSA MM↔
01500	
01600	********* RR.CMD  ********
01700	MSS,LOOP,SMALL,MOVER,GRED,NOTWRT,ITMSUB,WORDS,SLOOP
01800	,XREST,SCMSS,SCANR,MSSIO,PLTSRT,COPYIT,CLEFS,MOVE
01900	,NOTBMS,BEAMS,RHYTH,FILL,PREFIL[MSS,LCS],CURSOR.REL[MSS,LCS]
01905	
01910	
01920	***** MSX.CMD[XX,LCS]  12/75 *****
01930	
02000	MSX,LOOP,SMALL,MOVER,GREDX,NOTWRT,ITMSUB,WORDS,SLOOP
02010	,XREST,SCMSS,SCANR,MSSIO,PLTSRT,COPYIT,CLEFS,MOVE
02020	,NOTBMS,BEAMS,RHYTH,FILL,PREFIL,CURSOR.REL[MSS,LCS]
02030	
02100	
02110	***** MP.CMD[XX,LCS]  12/75 *****
02120	
02200	MPRNT,SLOOP,SMALLX,NOTWRT,ITMSUB,XREST,PPSRT,CLEFS,FILLX,PLTIT,MSSIO